The present invention relates to data routing in a communication network. More particularly, though not necessarily, the invention relates to a method and apparatus collecting charging information relating to Internet usage.
Typically, Information Service Providers (ISPs) provide their own information and interactive services to subscribers and additionally provide subscribers with a gateway access to the Internet and thereby to thousands of service providers around the world. Subscribers may also access the Internet and the thousands of smaller ISPs directly through smaller local ISPs.
The Internet comprises many communication links and networks interconnected by xe2x80x9croutersxe2x80x9d. ISPs typically lease bandwidth on these links, networks, and routers from operators such as telecommunication operators and therefore need to recoup their outlays and make a profit by passing appropriate charges on to their subscribers.
Generally, large ISPs bill their subscribers on a time-use basis, e.g. on a fee based on connection time, after a financial payment relationship has been established between the subscriber and the ISP. Similarly, smaller local ISPs also usually base their service charges to their subscribers for access to the Internet on a time-use basis. The smaller ISPs either do not charge for access to their information and interactive services or, if they do, also require the user to establish some sort of financial relationship.
Internet users are identified in the Internet by Internet Protocol (IP) addresses which are reserved for the users or service providers. In charging users, the amount of actual packets sent and received is usually not considered, nor is the source of fetched packets. As already mentioned, fixed, time-use based, or packet/byte count based billing mechanisms exist today. Mechanisms for circuit-switched type bandwidth allocation and billing are being designed.
Most circuit switched communication systems, e.g. conventional telephone networks, ATM networks, and so on, are able to perform billing based on distance (local versus long distance call) and on the basis that a connection is reserved and maintained for the duration of a call even though the data comprising the carried communication may pass over the link on an infrequent basis. However, the methods used for circuit switched communication are not directly applicable to packet switched communication used in the Internet, as there are no concepts equivalent to a xe2x80x9ccircuitxe2x80x9d and to xe2x80x9cthe establishment of a callxe2x80x9d.
As such, Internet users have the freedom to access any part of the Internet with the same cost regardless of the distance to the accessed part. The cost of an overseas link is of course much higher than the cost of a local link. Consequently the capacity of the overseas link is often very limited. There exists no simple solution today which would allow an ISP or IAP to collect higher fees from those users that use long distance links more than others.
It is an object of the present invention to generate and record information of the links used by a service provider or the like, in order to provide destination based information regarding the connections that a user has made.
It is another object of the present invention to use link-state routing protocol information to determine whether or not a special-cost link is passed through on a data packet""s journey through the Internet.
According to a first aspect of the present invention there is provided a method of collecting charging information relating to usage of a packet-switched data network by a network user, the method comprising:
constructing in a router of the network a routing table containing a set of destination address ranges and a set of respective next hop network nodes;
assigning a cost class to at least one link or node of the data network;
assigning to each address range in the routing table a cost class in dependence upon the links/nodes, and respective cost classes, through which a packet must travel to an address within the range;
receiving a data packet from said network user and identifying its destination address;
on the basis of the destination address, determining from the routing table the associated cost class; and
incrementing a corresponding cost class counter.
Preferably, the method comprises classifying destination address ranges into Low and High cost classes. The configuration of these classes may then be based on the simple listing of outgoing links by an Internet Service Provider, instead of enumerating all possible destinations, e.g., on the national level.
Multiple intermediate cost classes may also be defined. Such extensions require the keeping of separate packet/byte counters for each class.
Separate billing for originating and terminating network connections may be made, since the network access node may follow traffic (TCP) to find out which side of the network has initiated the connection. Such control is already used for security purposes in firewalls. Further, UDP (User Datagram Protocol) traffic could be followed (again as in the firewalls) by considering incoming UDP packets to belong to a connection if they originate from an address to which outgoing packets have recently been sent.
Embodiments of the invention have the advantage that information concerning a xe2x80x9cdestinationxe2x80x9d which a user has reached can be classified and the classification is relatively short. Billing based on real communication costs to the Service Provider and the user can be performed. In a simplest form, only one memory access to retrieve xe2x80x9cHigh-costxe2x80x9d flags needs to be performed in addition to the normal routing decision. No extra network traffic is created.
The configuration of High and Low cost destinations uses a very simple list of links, instead of enumerating a long and often changing list of destinations.
The solutions can be locally implemented in one Service Provider, without the need for similar techniques in other parts of the Network.
The invention is particularly applicable to the Internet, where a user accesses the open Internet through an Internet Service Provider (ISP). Preferably, the routing table containing the assigned cost classes is provided in a Network Access Server (NAS) of the ISP through which the user accesses a Local Area Network of the ISP.
It will be appreciated that the invention is applicable for collecting charging information relating to any packet switched data service. This includes WWW access, e-mail, Telnet, FTP etc.
Preferably, a xe2x80x9cmapxe2x80x9d of the data network (or a local region of the network, i.e. xe2x80x9cautonomousxe2x80x9d area) is constructed, using the OSPF protocol, to select the next hop for each group of destination addresses. On the basis of an identified shortest path, a cost class is allocated to the path and hence to the associated destination address range.
According to a second aspect of the present invention there is provided apparatus for collecting charging information relating to usage of a packet-switched data network by a network user, the apparatus comprising:
a router in said network having a memory storing a routing table containing a set of destination address ranges and a set of respective next hop network nodes;
first processing means for assigning a cost class to at least one link or node of the data network; and
second processing means associated with said router and arranged to assign to each address range in the routing table a cost class in dependence upon the links/nodes, and respective cost classes, through which a packet must travel to an address within the range,
the router being arranged in use to receive a data packet from said network user, to identify its destination address, and on the basis of the destination address to determine from the routing table the associated cost class,
the apparatus further comprising a set of counters corresponding to respective cost classes and means for incrementing the cost class counter corresponding to the determined cost class.